matlab 产生取值介于a到b之间的满足正态(高斯)分布的随机数/数组/矩阵 您所在的位置:网站首页 Matlab random函数范围 matlab 产生取值介于a到b之间的满足正态(高斯)分布的随机数/数组/矩阵

matlab 产生取值介于a到b之间的满足正态(高斯)分布的随机数/数组/矩阵

2023-10-12 03:30| 来源: 网络整理| 查看: 265

matlab中现有的产生满足正态分布随机数的函数主要有:

randn和normrnd

有关randn的应用可以参考:

https://ww2.mathworks.cn/help/matlab/ref/randn.html?s_tid=srchtitle

有关normrnd的应用可以参考:

https://ww2.mathworks.cn/help/stats/normrnd.html?searchHighlight=normrnd&s_tid=doc_srchtitle

然而,以上给出的参考方法大多只是简单的产生满足标准正态分布的随机数、数组或者矩阵等。并没有给出能够人为控制取值区间并且满足正态分布的方法。

而由百度百科有关正态分布的词条

https://baike.baidu.com/item/%E6%AD%A3%E6%80%81%E5%88%86%E5%B8%83/829892?fr=aladdin

中有关:分布曲线(面积分布)部分的内容,可以得知:

正态分布曲线下,横轴区间(μ-σ,μ+σ)内的面积为68.268949%;横轴区间(μ-1.96σ,μ+1.96σ)内的面积为95.449974%;横轴区间(μ-2.58σ,μ+2.58σ)内的面积为99.730020%。并且由于“小概率事件”和假设检验的基本思想 ,“小概率事件”通常指发生的概率小于5%的事件,认为在一次试验中该事件是几乎不可能发生的。由此可见X落在(μ-3σ,μ+3σ)以外的概率小于千分之三,在实际问题中常认为相应的事件是不会发生的,基本上可以把区间(μ-3σ,μ+3σ)看作是随机变量X实际可能的取值区间,这也被称之为正态分布的“3σ”原则。

与此同时,matlab官网有关normrnd函数所产生的正态(高斯)分布是可以通过调整平均参数mu和标准偏差参数sigma来调整的。于是,根据正态分布曲线下横轴区间内的面积占比【“3σ”原则】以及normrnd函数,可以通过以下方法,构建取值介于a到b之间的满足正态(高斯)分布的随机数/数组/矩阵。

【首先,以取值区间介于-1到1为例】

1.由正态分布曲线下横轴区间内的最大面积占比【“3σ”原则】的对应关系构建方程组:

μ-3σ=-1; μ+3σ=1;

求解以上方程组,获得μ=0,σ约=0.333333333【保留小数点后5位有效数字,σ=0.33333】

2.利用normrnd函数,构建取值介于-1到1之间满足正态(高斯)分布的随机数/数组/矩阵

(一)产生随机数:normrnd(0,0.33333,1,1)

运行结果:

ans =

    0.1250

(二)产生随机矩阵(数组):normrnd(0,0.33333,7,9)

运行结果:

ans =

   -0.0767   -0.0644    0.2172    0.1179    0.4161    0.2229   -0.4620   -0.3112    0.0279    -0.0392    0.4512   -0.2853   -0.5888    0.1429    0.3427   -0.6554    0.1133    0.1705     0.4057   -0.0333   -0.1468   -0.3837   -0.7501    0.2818   -0.3118    0.0651   -0.3316    -0.4622    0.3164    0.1283    0.4871   -0.1837    0.3332   -0.4377   -0.5466   -0.1416    -0.2559   -0.0011    0.0964   -0.1814   -0.5304    0.4148    0.0178   -0.6530   -0.7569     0.3377    0.5967   -0.4755   -0.3772   -0.2037   -0.2716   -0.1250   -0.7779    0.5941     0.1567    0.2763    0.0923   -0.1201   -0.6333   -0.1697    0.1454   -0.2183   -0.2624

 

同样的方法,

【以取值区间介于2到8为例】

1.由正态分布曲线下横轴区间内的最大面积占比【“3σ”原则】的对应关系构建方程组:

μ-3σ=2; μ+3σ=8;

求解以上方程组,获得μ=5,σ=1

2.利用normrnd函数,构建取值介于2到8之间满足正态(高斯)分布的随机数/数组/矩阵

(一)产生随机数:normrnd(5,1,1,1)

运行结果:

ans =

    3.3969

(二)产生随机矩阵(数组):normrnd(5,1,7,9)

运行结果:

ans =

    4.5075    4.8764    4.8143    6.7305    6.2039    3.8300    3.9759    6.3387    7.3241     5.9597    6.7941    5.8816    4.3803    5.6172    4.7193    5.9855    4.3376    3.6784     3.7881    3.3932    3.2036    5.4418    4.9802    4.0205    5.6468    5.8512    4.3138     5.4988    5.5361    3.8683    3.3463    6.2425    3.4314    5.1126    6.6954    4.9837     3.8188    6.7807    3.9099    4.2940    4.8159    5.9901    3.4148    6.3373    5.7467     5.6472    5.3108    3.8547    4.7077    5.6550    4.5385    4.4796    5.6218    5.2734     5.4936    5.7081    7.3934    5.3054    7.0343    3.2983    4.0377    3.7104    4.1969

【同理,可以通过以上方法,构建取值介于a到b之间的满足正态(高斯)分布的随机数/数组/矩阵。】

 

特别声明:

以上方法仅是本人在处理数据过程中发现的一种方法,并不能保证完全正确,仅限于和大家的交流学习,不足之处,请多多包涵,请高手大牛不吝指教,谢谢!!!!!

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有